package cn.com;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;
import org.springframework.orm.jpa.vendor.HibernateJpaSessionFactoryBean;

import de.codecentric.boot.admin.config.EnableAdminServer;

/**
 * @author liufl
 * @version 创建时间：2017年7月18日 下午3:07:36
 *          一定要放到所有文件夹的最外层，不然扫描不到其他的controller，各种mapping就失效了！！！
 *          运行一个打包的程序并开启远程调试支持是可能的，这允许你将调试器附加到打包的应用程序上： 
 *          java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n \ 
 *          -jar target/test-0.0.1-SNAPSHOT.jar
 *          安全停止：http://www.cnblogs.com/lobo/p/5657684.html
 */
@SpringBootApplication
@EnableAdminServer//类似Druid的admin监控
@ImportResource({"classpath:springBoot_dubbo_consumer.xml"})  
public class BootCsmApplication {

	/**
	 * 如果启动报错You must use at least one, but no more than one http method annotation on: public abstract java.lang.String com.dubbo.demo.service.TestService.say
	 * 无视就好了，不影响dubo接口调用
	 * @param args
	 */
	public static void main(String[] args) {
		SpringApplication.run(BootCsmApplication.class, args);
	}

	/**
	 * 注入sessionfatory
	 * @return
	 */
	@Bean
	public HibernateJpaSessionFactoryBean sessionFactory() {
		return new HibernateJpaSessionFactoryBean();
	}
}
